package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * GPS详情
 *
 * @author code-generate
 * @date 2021-09-13
 */
@Data
@DbTable(tableName = "t_gps_pos_trace")
public class GpsPosTrace extends BaseEntity {
        /**
     * 
     */
    @DbTableField(columnName = "c_fid", dbType = DbTypeEnum.BIGINT)
    public Long fid ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_key", dbType = DbTypeEnum.VARCHAR)
    public String clientKey ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_ip", dbType = DbTypeEnum.VARCHAR)
    public String clientIp ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_port", dbType = DbTypeEnum.INTEGER)
    public Integer clientPort ;

    /**
     * 
     */
    @DbTableField(columnName = "c_speed", dbType = DbTypeEnum.FLOAT)
    public Float speed ;

    /**
     * 
     */
    @DbTableField(columnName = "c_degree", dbType = DbTypeEnum.FLOAT)
    public Float degree ;

    /**
     * 
     */
    @DbTableField(columnName = "c_star_number", dbType = DbTypeEnum.INTEGER)
    public Integer starNumber ;

    /**
     * 
     */
    @DbTableField(columnName = "c_long", dbType = DbTypeEnum.DOUBLE)
    public Double lng ;

    /**
     * 
     */
    @DbTableField(columnName = "c_lat", dbType = DbTypeEnum.DOUBLE)
    public Double lat ;

    /**
     * 
     */
    @DbTableField(columnName = "c_abs_x", dbType = DbTypeEnum.DOUBLE)
    public Double absX ;

    /**
     * 
     */
    @DbTableField(columnName = "c_abs_y", dbType = DbTypeEnum.DOUBLE)
    public Double absY ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_long", dbType = DbTypeEnum.DOUBLE)
    public Double lastLong ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_lat", dbType = DbTypeEnum.DOUBLE)
    public Double lastLat ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_abs_x", dbType = DbTypeEnum.DOUBLE)
    public Double lastAbsX ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_abs_y", dbType = DbTypeEnum.DOUBLE)
    public Double lastAbsY ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gps_device_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime gpsDeviceDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_gps_device_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime lastGpsDeviceDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gps_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime gpsDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_gps_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime lastGpsDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_db_create_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime dbCreateDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_create_date", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime lastCreateDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_over_area_alarm_state", dbType = DbTypeEnum.SMALLINT)
    public Short overAreaAlarmState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gsm_signal_intensity", dbType = DbTypeEnum.SMALLINT)
    public Short gsmSignalIntensity ;

    /**
     * 
     */
    @DbTableField(columnName = "c_state", dbType = DbTypeEnum.SMALLINT)
    public Short state ;

    /**
     * 
     */
    @DbTableField(columnName = "c_acc_state", dbType = DbTypeEnum.SMALLINT)
    public Short accState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_power_state", dbType = DbTypeEnum.SMALLINT)
    public Short powerState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_up_model", dbType = DbTypeEnum.SMALLINT)
    public Short upModel ;

    /**
     * 
     */
    @DbTableField(columnName = "c_up_type", dbType = DbTypeEnum.SMALLINT)
    public Short upType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_source", dbType = DbTypeEnum.INTEGER)
    public Integer source ;

    /**
     * 
     */
    @DbTableField(columnName = "c_obj_type", dbType = DbTypeEnum.SMALLINT)
    public Short objType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_obj_id", dbType = DbTypeEnum.INTEGER)
    public Integer objId ;

    /**
     * 
     */
    @DbTableField(columnName = "c_avg2_speed", dbType = DbTypeEnum.INTEGER)
    public Integer avg2Speed ;

    /**
     * 
     */
    @DbTableField(columnName = "c_avg5_speed", dbType = DbTypeEnum.INTEGER)
    public Integer avg5Speed ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_point_interval", dbType = DbTypeEnum.INTEGER)
    public Integer lastPointInterval ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_point_distance", dbType = DbTypeEnum.FLOAT)
    public Float lastPointDistance ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_in_section", dbType = DbTypeEnum.TINYINT)
    public Byte isInSection ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_is_in_section", dbType = DbTypeEnum.TINYINT)
    public Byte lastIsInSection ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_in_section_area", dbType = DbTypeEnum.TINYINT)
    public Byte isInSectionArea ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_in_section_area", dbType = DbTypeEnum.TINYINT)
    public Byte lastInSectionArea ;

    /**
     * 
     */
    @DbTableField(columnName = "c_work_start_time", dbType = DbTypeEnum.TIMESTAMP)
    public LocalDateTime workStartTime ;

    /**
     * 
     */
    @DbTableField(columnName = "c_work_is_valid", dbType = DbTypeEnum.TINYINT)
    public Byte workIsValid ;

    /**
     * 
     */
    @DbTableField(columnName = "c_car_work_status", dbType = DbTypeEnum.TINYINT)
    public Byte carWorkStatus ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_work_line", dbType = DbTypeEnum.TINYINT)
    public Byte isWorkLine ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_fid", dbType = DbTypeEnum.BIGINT)
    public Long lastFid ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_fade_zone", dbType = DbTypeEnum.TINYINT)
    public Byte isFadeZone ;

    /**
     * 
     */
    @DbTableField(columnName = "c_last_is_fade_zone", dbType = DbTypeEnum.TINYINT)
    public Byte lastIsFadeZone ;

    /**
     * 
     */
    @DbTableField(columnName = "c_total_mileage", dbType = DbTypeEnum.INTEGER)
    public Integer totalMileage ;

    /**
     * 
     */
    @DbTableField(columnName = "c_level_ratio1", dbType = DbTypeEnum.FLOAT)
    public Float levelRatio1 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_level_ratio2", dbType = DbTypeEnum.FLOAT)
    public Float levelRatio2 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_work_line_id", dbType = DbTypeEnum.INTEGER)
    public Integer workLineId ;

    /**
     * 
     */
    @DbTableField(columnName = "c_car_work_data_id", dbType = DbTypeEnum.BIGINT)
    public Long carWorkDataId ;

    /**
     * 
     */
    @DbTableField(columnName = "c_work_add_time", dbType = DbTypeEnum.INTEGER)
    public Integer workAddTime ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_open_potential", dbType = DbTypeEnum.TINYINT)
    public Byte isOpenPotential ;

    /**
     * 
     */
    @DbTableField(columnName = "c_oil_rate", dbType = DbTypeEnum.DECIMAL)
    public BigDecimal oilRate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_fence_id", dbType = DbTypeEnum.INTEGER)
    public Integer fenceId ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_fence", dbType = DbTypeEnum.TINYINT)
    public Byte isFence ;

    /**
     * 
     */
    @DbTableField(columnName = "c_station_obj_type", dbType = DbTypeEnum.TINYINT)
    public Byte stationObjType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_station_obj_id", dbType = DbTypeEnum.INTEGER)
    public Integer stationObjId ;

    /**
     * 波动率
     */
    @DbTableField(columnName = "c_oil_ratio", dbType = DbTypeEnum.FLOAT)
    public Float oilRatio ;

    /**
     * 
     */
    @DbTableField(columnName = "c_movement_state", dbType = DbTypeEnum.TINYINT)
    public Byte movementState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_section_area_id", dbType = DbTypeEnum.INTEGER)
    public Integer sectionAreaId ;

    /**
     * 
     */
    @DbTableField(columnName = "c_voltage_level", dbType = DbTypeEnum.TINYINT)
    public Byte voltageLevel ;


}
